package com.ylr.blog.framework.service;

import com.ylr.blog.framework.entity.BlogTagEntity;
import com.ylr.base.common.dto.PageDto;
import com.ylr.blog.common.dto.blog_tag.BlogTagDto;
import com.ylr.blog.common.vo.blog_tag.BlogTagFormVo;
import com.ylr.blog.common.vo.blog_tag.BlogTagVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2023-05-23 22:24:25
 * className: BlogTagService
 * version: 1.0
 * description:
 */
public interface BlogTagService extends IService<BlogTagEntity> {

    /**
     * 保存博客标签操作
     * @param blogTagVo 参数对象
     */
    void saveBlogTag(BlogTagVo blogTagVo);

    /**
     * 分页查询博客标签操作
     * @param blogTagFormVo 参数对象
     * @return 博客标签分页数据
     */
    PageDto<BlogTagDto> pageBlogTagList(BlogTagFormVo blogTagFormVo);

    /**
     * 获取博客标签接口
     * @param id 主键
     * @return 博客标签对象
     */
    BlogTagDto getBlogTag(Long id);

    /**
     * 获取下一个排序等级操作
     * @return 排序等级值
     */
    Integer getNextSort();

    /**
     * 修改博客标签操作
     * @param blogTagVo 参数对象
     */
    void updateBlogTag(BlogTagVo blogTagVo);

    /**
     * 删除博客标签操作
     * @param idList 主键列表
     */
    void deleteBlogTag(List<Long> idList);
}

